package cn.infrabase.core.text;

/**
 * 常用字符串常量池。
 *
 * @author Weimin Gao
 * @since 1.0.0
 **/
public interface StringPool {

    /**
     * 空格符：{@code ' '}
     */
    char C_SPACE = CharPool.SPACE;

    /**
     * 制表符：{@code '\t'}
     */
    char C_TAB = CharPool.TAB;

    /**
     * 英文点：{@code '.'}
     */
    char C_DOT = CharPool.DOT;

    /**
     * 斜杠：{@code '/'}
     */
    char C_SLASH = CharPool.SLASH;

    /**
     * 反斜杠：{@code '\\'}
     */
    char C_BACKSLASH = CharPool.BACKSLASH;

    /**
     * 回车符：{@code '\r'}
     */
    char C_CR = CharPool.CR;

    /**
     * 换行符：{@code '\n'}
     */
    char C_LF = CharPool.LF;

    /**
     * 下划线：{@code '_'}
     */
    char C_UNDERLINE = CharPool.UNDERLINE;

    /**
     * 减号（连接符）：{@code '-'}
     */
    char C_DASHED = CharPool.DASHED;

    /**
     * 英文逗号：{@code ','}
     */
    char C_COMMA = CharPool.COMMA;

    /**
     * 英文左花括号： <code>'{'</code>
     */
    char C_DELIM_START = CharPool.DELIM_START;

    /**
     * 英文右花括号：<code>'}'</code>
     */
    char C_DELIM_END = CharPool.DELIM_END;

    /**
     * 英文左中括号：{@code '['}
     */
    char C_BRACKET_START = CharPool.BRACKET_START;

    /**
     * 英文右中括号：{@code ']'}
     */
    char C_BRACKET_END = CharPool.BRACKET_END;

    /**
     * 英文冒号：{@code ':'}
     */
    char C_COLON = CharPool.COLON;

    /**
     * 艾特符：{@code '@'}
     */
    char C_AT = CharPool.AT;

    /**
     * 波浪号：{@code '~'}
     */
    char C_TILDE = CharPool.TILDE;

    // -----------------------------------------------------------------------------------------------------------------

    /**
     * null字符串：{@code "null"}，说明：{@code "null" != null}
     */
    String NULL = "null";

    /**
     * 空字符串：{@code ""}
     */
    String EMPTY = "";

    /**
     * 空格符：{@code " "}
     */
    String SPACE = " ";

    /**
     * 制表符：{@code "\t"}
     */
    String TAB = "	";

	/**
	 * 英文双引号 ：{@code "\""}
	 */
	String DOUBLE_QUOTES = "\"";

    /**
     * 英文点 ：{@code "."}
     */
    String DOT = ".";

	/**
	 * 正则英文点 ：{@code "."}
	 */
	String REGEX_DOT = "[.]";

    /**
     * 英文双点 ：{@code ".."}
     */
    String DOUBLE_DOT = "..";

    /**
     * 斜扛 ：{@code "/"}
     */
    String SLASH = "/";

    /**
     * 反斜杠 ：{@code "\\"}
     */
    String BACKSLASH = "\\";

    /**
     * 双反斜杠 ：{@code "\\\\"}
     */
    String DOUBLE_BACKSLASH = "\\\\";

    /**
     * 回车符 ：{@code "\r"}，该字符用于Linux和MacOS系统下的文本换行。
     */
    String CR = "\r";

    /**
     * 换行符 ：{@code "\n"}
     */
    String LF = "\n";

    /**
     * 回车换行符 ：{@code "\r\n"}，该字符串用于表示Windows系统下的文本换行。
     */
    String CRLF = "\r\n";

    /**
     * 下划线 ：{@code "_"}
     */
    String UNDERLINE = "_";

	/**
	 * 加号 ：{@code "+"}
	 */
	String PLUS = "+";

    /**
     * 减号（连接符）：{@code "-"}
     */
    String DASHED = "-";

    /**
     * 英文逗号 ：{@code ","}
     */
    String COMMA = ",";

    /**
     * 英文左花括号：<code>"{"</code>
     */
    String DELIM_START = "{";

    /**
     * 英文右花括号：<code>"}"</code>
     */
    String DELIM_END = "}";

    /**
     * 英文左中括号：{@code "["}
     */
    String BRACKET_START = "[";

    /**
     * 英文右中括号：{@code "]"}
     */
    String BRACKET_END = "]";

    /**
     * 英文冒号：{@code ":"}
     */
    String COLON = ":";

    /**
     * 艾特符：{@code "@"}
     */
    String AT = "@";

    /**
     * 波浪号：{@code "~"}
     */
    String TILDE = "~";

    /**
     * 空JSON对象：{@code "{}"}
     */
    String EMPTY_JSON_OBJECT = "{}";

    /**
     * 空JSON数组：{@code "[]"}
     */
    String EMPTY_JSON_ARRAY = "[]";

    /**
     * 超文本传输协议：{@code "http://"}。
     */
    String HTTP_PROTOCOL_PREFIX = "http://";

    /**
     * 超文本传输安全协议：{@code "https://"}。
     */
    String HTTPS_PROTOCOL_PREFIX = "https://";

}
